The CAN-system (Control Area Network) is currently well-known in various connections for controlling, processes, monitoring, etc. Among other things, it is used in various vehicle applications in order to control various processes in the vehicle. In addition, it is used for function control in machinery, for example within the construction industry, in weaving sheds, etc. In connection with this, reference can be made to the patent literature and the patent applications and patents that have been submitted and obtained by the Applicant of the present patent application.
In connection with control and monitoring systems of this type, there is an ongoing need to make the system as such more efficient, to improve it and to make it cheaper. A bottleneck for system performance is the bandwidth of the bus. To date, most systems based on CAN have been constructed on the basis that messages are sent event-driven. This means that the bus is poorly utilized and that the time for message transfer varies greatly. This fact has resulted in CAN generally being considered to be unsuitable for safety-critical systems. Such systems should be based on time-controlled scheduling of message transfers between the nodes in the system. Special protocols for this have been developed, for example TTP and Flexray. A new standard for CAN with support for time scheduling is in preparation by ISO (“Controller area network (CAN) B Part 4: Time-triggered communication” ISO/CD 11898-4) which proposes how CAN messages can be time scheduled and how clocks for this can be arranged. An overview and discussion of the subject is published in the publication IEEE Micro July-August 2002. TTP can be considered best to correspond to the current technology concerning distributed systems with high real-time and security requirements. This is a modern, advanced and well-documented protocol for time-controlled systems that are used in vessels. For detailed information, refer for example to H. Kopetz, “TTP/C Protocol”, TTTech 1999. A study of TTP/C shows that it makes high demands to the effect that the clocks in the respective modules must operate within a high given tolerance and that special circuits must be used, so-called Bus Guardians, in order to ensure that no module transmits messages that collide with other messages on the bus. In general, serial protocols are divided into three classifications: Collision Avoidance (CA), Collision Detection (CD) and Collision Resolution (CR). Definitions of the classifications and the boundaries between them can vary. UP is a typical CA protocol, that is all measures and steps are taken in order to avoid collisions. This is a generally accepted starting point for traditional time-controlled systems. The Ethernet is a good example of a CD protocol. Collisions normally arise on the bus and are detected. Colliding messages are discarded and the transmitters send the messages again after a delay. The protocol has rules concerning this delay so that at least the modules that collided do not immediately collide again. The collisions thus give rise to reduced bandwidth and mean that the maximum delay for a given message can not be calculated and guaranteed. CAN is an example of a CR protocol. Collisions are resolved in a predictable way. The price of this characteristic is a low maximum bandwidth and this is one of the reasons that CAN has been considered not to be a suitable protocol for time-controlled systems. In addition, the collision-resolving characteristic has been considered by most experts not to be of value for time-controlled systems, as collisions are not supposed to occur.
Traditionally, time-scheduled transmission of messages is considered to be more efficient than event-driven transmission. However, the time slot that is allocated to a message must be longer than the message in order to take account of the difference between the modules' clocks. FIG. 1 shows schematically a traditional schedule with time slots in which the modules A and B place their messages. As their clocks are not precisely synchronized with the system clock, the messages are placed in practice slightly earlier or later in the allocated time slot than what is specified by the scheduling. This means that in traditional time-controlled systems the allocated time slot must be large in order for inaccurate clocks to be able to be used in the modules, which results in loss of bandwidth, or means alternatively that very accurate clocks must be used, which results in high costs. The present invention aims to solve this problem, among others. In addition, immediate retransmission of discarded messages is not permitted in traditional time-scheduled systems as this would require longer time slots. Extract from ISO 11898-4: “Arbitrating time window conflicts are resolved by the identifier arbitration of CAN and a CAN node may not start transmission if the bus is not idle. Several CAN nodes in the network may start a transmission within the Tx_Enable window of an arbitrating time window. The immediate automatic retransmission is disabled”. The quotation shows that it is a widespread belief that automatic retransmission should not occur at all in CAN-based time-controlled systems and that a node is not to request start of message transmission of the bus if the bus is not expected to be free. The present invention aims, among other things, to allow immediate retransmission of discarded messages. A characteristic of the invention is that a CAN node starts transmission when the bus is engaged (not idle).
Time-scheduled communication requires each node to keep time within a given accuracy in relation to the system clock and requires each message to be transmitted/received in a given time slot for the respective message. This leads to the communication being sensitive to interference and to additional bandwidth having to be kept in reserve in order that important messages will be certain to get through in time. A further development of the basic idea of the invention avoids this need and makes possible the construction of a very robust communication system with predictable characteristics. A communication system can be constructed by means of the invention, that has the respective advantages of event-driven and time-controlled communication while at the same time eliminating their respective disadvantages. A robust communication system with great adaptability to the requirements of the total system and with “graceful degradation” characteristics can be constructed by means of the invention.
In accordance with the concept of the invention, the problems described above are solved by utilizing the known characteristics of a CAN message and by the introduction of new concepts such as virtual and actual schedules and virtual system clock. The invention is applicable to other protocols than CAN that have the utilized CAN characteristics.